02. Setting Up For This Course
Setting Up For This Course
Setting up for this course
To do the exercises in this course, you will need access to a Linux machine you can log into with SSH. There are a couple of ways you can get one without installing Linux on your computer: you can use a hosting service that gives you a Linux shell environment; or you can install a Linux-based virtual machine on your own computer.
Regardless of which path you are taking, follow the instructions below (under "Installing networking tools") to set up the networking tools for this course.
Your Linux machine (Hosted option)
You can use a Linux-based hosting service such as Amazon Lightsail. There are a lot of services you can use here; Lightsail is just the one that we have tested.
To use Lightsail you will need to create an Amazon AWS account if you don't have one already. You'll then need to create an instance using an Ubuntu Linux image. You can choose the lowest-cost option for the instance, which will be free for the first month.
Once you have created the instance, you will be able to log into it via SSH from your browser. Follow the instructions below under "Installing networking tools" next.
Your Linux machine (Local VM option)
If you prefer to work on your own computer instead of a commercial service, you can run a Linux virtual machine (VM) on top of your regular operating system.
You will need to install two pieces of software:
- VirtualBox, which you can get from this download page.
- Vagrant, which you can get from this download page.
You will also need a Unix-style terminal program. On Mac or Linux systems, you can use the built-in Terminal. On Windows, we recommend Git Bash, which is installed with the Git version control software.
Once you have VirtualBox and Vagrant installed, open a terminal and run the following commands:
```sh
mkdir networking
cd networking
vagrant init ubuntu/trusty64
vagrant up
This will create a new directory for this course and begin downloading a Linux image into this directory. It may take a long time to download, depending on your Internet connection.
When it is complete, you can log into the Linux instance with `vagrant ssh`. You are now ready to continue with the course.
If you log out of the Linux instance or close the terminal, the next time you want to use it you only need to run `cd networking` and `vagrant ssh`.
## Installing networking tools
Regardless of whether you're using the local or remote option, you'll need to install some networking tools to do this course.
SSH into your Linux machine. Then take a moment to bring it up to date with any package updates:
sudo apt-get update && sudo apt-get upgrade```
Depending on how recently that machine was set up, you may get messages asking whether it's OK to install various packages or change various files. It should be safe to accept any changes the updater proposes to make.
(If you haven't seen it before, the &&
in the above command means "run the first program; then if that succeeds, run the second program." Useful shell trick.)
There are two reasons to do this update now: first, it's a good practice to keep your servers up to date; and second, if you don't update it, the new software for this course may not install correctly.
You'll be using several network utility programs in this course. Some of them may already be installed, but just to make sure, let's install them all:
sudo apt-get install netcat-openbsd tcpdump traceroute mtr
Once this installation completes, your machine is ready to do the exercises in this course.